package com.version1.diabeco.ui.medicacion;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.version1.diabeco.ActivityMain;
import com.version1.diabeco.R;
import com.version1.diabeco.model.medicacion.Medicacion;

/**
 * Adapter para visualizacion de registros en ListView con el siguiente formato: 
 * 
 * [valor] [unidad] [lugar]
 * [fecha] [hora]
 * 
 * Ej:
 * 
 * [Insulina A] [1/4] [Brazo]
 * [10/03/2013] [19:23]
 */
public class MedicacionAdapter extends ArrayAdapter<Medicacion> {
	private final Context context;
	private final List<Medicacion> values;

	public MedicacionAdapter(Context context, int resource, List<Medicacion> values) {
		super(context, resource, values);
		this.context = context;
		this.values = values;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View rowView = inflater.inflate(R.layout.activity_medicacion_fila, parent, false);
		
		Medicacion medicacion = values.get(position);
		
		ImageView imageView = (ImageView) rowView.findViewById(R.id.imageViewMedicamento);
		imageView.setImageResource(medicacion.getMedicamento().getIconResourceId());
		TextView textView = (TextView) rowView.findViewById(R.id.textViewMedicamentoFilaFecha);
		textView.setText(ActivityMain.DATE_FORMAT.format(medicacion.getFecha()));
		textView = (TextView) rowView.findViewById(R.id.textViewMedicamentoFilaHora);
		textView.setText(ActivityMain.TIME_FORMAT.format(medicacion.getFecha()));
		textView = (TextView) rowView.findViewById(R.id.textViewMedicamentoFilaDescripcion);
		textView.setText(medicacion.getMedicamento().getDescripcion());
		textView = (TextView) rowView.findViewById(R.id.textViewMedicamentoFilaDosis);
		textView.setText(medicacion.getDosis());
		textView = (TextView) rowView.findViewById(R.id.textViewMedicamentoFilaAplicacion);
		textView.setText(medicacion.getLugarAplicacion());

		return rowView;
	}
}